menu: Dismiss submenus during keynav
authorMatthias Clasen <mclasen@redhat.com>
Sat, 25 Apr 2020 16:14:04 +0000 (12:14 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 25 Apr 2020 16:14:04 +0000 (12:14 -0400)
We need to dismiss submenus explicitly on left arrow,
otherwise the grab interferes with our keynav.

gtk/gtkpopovermenu.c

index ef33391408702405324a6011cb2cc104d2f1acd0..acb2bc71794fe396e33982d370121642144697a8 100644 (file)
@@ -336,6 +336,12 @@ gtk_popover_menu_focus (GtkWidget        *widget,
             return TRUE;
           if (direction == GTK_DIR_LEFT)
             {
+              if (menu->open_submenu)
+                {
+                  gtk_popover_popdown (GTK_POPOVER (menu->open_submenu));
+                  menu->open_submenu = NULL;
+                }
+
               gtk_widget_grab_focus (menu->active_item);
 
               return TRUE;